#pragma once
#include <XnCppWrapper.h>
#include <opencv2\core\core.hpp>

using namespace cv;

class MyMarker {
    //	identificatore aruco del marker
	int id;
	//	coordinate globali (date) del marker e altezza [mm]
    double x, y, height;
	//	coordinate 3D trovate del centro e dei 4 angoli
	Vec3f center;
	Vec3f upperLeft;
	Vec3f upperRight;
	Vec3f lowerLeft;
	Vec3f lowerRight;

public:
    MyMarker(void);
    MyMarker(int id, double x, double y, double height);
    ~MyMarker(void);

    int getId() const;
    double getX() const;
    double getY() const;
    double getHeight() const;
	Vec3f getCenter() const;
	Vec3f getUpperLeft() const;
    Vec3f getUpperRight() const;
    Vec3f getLowerLeft() const;
    Vec3f getLowerRight() const;
	Vec3f getUpperMiddle() const;
    Vec3f getLowerMiddle() const;

	void setId(int id);
    void setX(double x);
    void setY(double y);
    void setHeight(double height);
	void setCenter(Vec3f center);
	void setUpperLeft(Vec3f upperLeft);
	void setUpperRight(Vec3f upperRight);
	void setLowerLeft(Vec3f lowerLeft);
	void setLowerRight(Vec3f lowerRight);
};
